package copyengine.resource.file
{
	import copyengine.resource.dto.ResInitDTO;
	import copyengine.resource.dto.ResObjectRequestParamDTO;

	public interface ICEResFile
	{
		function initialize(_resInitDTO:ResInitDTO):void;

		/**
		 * 设置Res被加载完成后的回调函数，当使用
		 * CEResManger.loadResFileByFileName()加载素材时候可以设置回调函数
		 * 用于上层调用监听某个特定的素材是否加载完成
		 */
		function addResLoadFinishedCallBack(_callBack:Function):void;
		function removeResLoadFinishedCallBack(_callBack:Function):void;

		/**
		 * each callBackFunction need to pass itself back from the param.
		 */
		function startLoadFile(_loadComplateCallBack:Function, _loadProgressCallBack:Function, _loadErrorCallBack:Function):void;

		function getObject(_dto:ResObjectRequestParamDTO):Object;

		function get maxWeight():int;
		function get currentWeight():int;
		function get loadState():int;
		function get loadQueueName():String;
		function get fileName():String;
		function dispose():void;
	}
}
